package com.cpems.system.domain.bo;

import com.cpems.common.core.domain.BaseEntity;
import com.cpems.common.core.validate.AddGroup;
import com.cpems.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.math.BigDecimal;

/**
 * 项目总能效同步业务对象 energy_project_sync
 *
 * @author lyonfive
 * @date 2025-03-26
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class EnergyProjectSyncBo extends BaseEntity {

    /**
     *
     */
    @NotNull(message = "不能为空", groups = { EditGroup.class })
    private Long energyId;

    /**
     * 当前Cop
     */
    @NotNull(message = "当前Cop不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal currentCop;

    /**
     * 月度Cop
     */
    @NotNull(message = "月度Cop不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal monthCop;

    /**
     * 累计Cop
     */
    @NotNull(message = "累计Cop不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal totalCop;

    /**
     * 达标率(%)
     */
    @NotNull(message = "达标率(%)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal complianceRate;

    /**
     * 项目Id
     */
    @NotNull(message = "项目Id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long projectId;

    /**
     * 备注说明
     */
    @NotBlank(message = "备注说明不能为空", groups = { AddGroup.class, EditGroup.class })
    private String remark;

    /**
     * 类型Id
     */
    private Long typeId;
}
